package com.dingding.order.service.special;

import java.util.List;
import com.dingding.order.dto.myorder.SpeCusOrdInfoResult;

/**
 * @Description:专车订单接口
 * @author fengshuonan
 * @date 2016年8月18日 下午2:30:10
 * @version 叮叮搭车
 * @since 2.4
 */
public interface ISpecialCarOrderFacade {

	/**
	 * @Description: 专车实时定位，获取专车最快到达时间和周围车辆
	 * @author fengshuonan
	 * @since 2.4
	 */
	public String boardingTime(String clientData);
	
	
	/**
	 * @Description:获取乘客的所有进行中订单
	 * @author fengshuonan
	 * @since 2.4
	 */
	public String getCustomerUnderWayOrders(String clientData);
	
	/**
	 * @Description:获取司机的所有进行中订单
	 * @author fengshuonan
	 * @since 2.4
	 */
	public String getDriverUnderWayOrders(String clientData);
	
	/**
	 * @Description:订单支付
	 * @author fengshuonan
	 * @since 2.4
	 */
	public String orderPay(String clientData);
	
	
	/**
	 * @Description:订单支付成功的回调
	 * @author fengshuonan
	 * @since 2.4
	 */
	public boolean orderPayNotify(String special);
	
	
	/**
	 * @Description:获取乘客的历史订单
	 * @author fengshuonan
	 * @since 2.4
	 */
	public String getCustomerHistoryOrders(String clientData);
	
	
	/**
	 * @Description:获取司机的历史订单
	 * @author fengshuonan
	 * @since 2.4
	 */
	public String getDriverHistoryOrders(String clientData);
	
	/**
	 * 
	 * @Title: completeAndCancelOrder 
	 * @Description: 获取已完成和已取消订单
	 * @param clientData 客户端请求参数
	 * @author YHQ 
	 * @since V2.5.5
	 * @return String    返回类型
	 * 
	 */
	public String completeAndCancelOrder(String clientData);
	
	/**
	 * @Description:获取某个用户的专车订单信息
	 * @param userId 用户id
	 * @author fengshuonan
	 * @since 2.4
	 */
	public List<SpeCusOrdInfoResult> getSpecialCustomerOrderInfo(String userId);

	/**
	 * @Description:获取乘客的专车订单信息通过手机号
	 * @param tellphone 电话号码
	 * @author fengshuonan
	 * @return List<SpeCusOrdInfoResult>
	 * @since 2.4
	 */
	public List<SpeCusOrdInfoResult> getSpecialCustomerOrderInfoByPhone(String tellphone);
	
	/**
	 * @Description:取消专车订单
	 * @param orderId 订单id
	 * @author fengshuonan
	 * @return boolean true 成功  false 失败
	 * @since 2.4
	 */
	public boolean cancelSpecialOrder(String orderId);
	
	/**
	 * @Description:获取乘客的专车订单（未完成的）通过用户id
	 * @author fengshuonan
	 * @since 2.4
	 */
	public List<SpeCusOrdInfoResult> getCusSpeOrderByUserId(String userId);
	
}
